This invention pertains to a system and method for visual analysis of a database.
Currently, visualization analysis of a database is achieved by acquiring data and then using a visualization application to perform the desired analysis. The problem with the current approach, is that the data is frequently out of date by the time it is received and it is very difficult to obtain data in this manner particularly when data includes sensitive information. Furthermore, visualization applications are limited to the programs provided by the designers of the applications. It is somewhat difficult for the client to obtain the type of visualization application that is directed to the needs of the client especially when dealing with complex and voluminous data.
Presently, many databases including multimillion line source code from large real-time software systems are stored and maintained. The source code for such systems, included in the databases has experienced substantial development over the last two decades. The code is partitioned into tens of thousands of files, thousands of modules and tens of subsystems. The code is dynamic and constantly changing. Modifications are frequently submitted daily by the thousands of engineers involved in projects associated with the databases. The database contains the complete change history, including virtually every modification made during the project, as well as many related statistics.
Often, corporate data base assets are warehoused centrally, because of their strategic nature and interest to many organizations, and at the same time, these organizations have differing needs in connection with the data, differing skills levels, and varying tasks to perform. This is true of the source code database, which must be accessed by multiple constituencies for multiple reasons. Since documentation associated with the database is often out of date, the code itself is the most reliable source of information about the product. Programmers making changes need access to ensure that proposed changes do not affect existing functionality. Additionally, project managers monitor code changes to access whether promised features are on schedule and whether delivery deadlines will be met. Finally, engineers study the code to identify bug-prone regions, unused dead code and inefficiencies.
There are a number of different classes of clients who would be interested in assessing a database to perform a visualization analysis. As mentioned, one client, a developer wishes to develop, modify or enhance software code included in the database. Another client, a customer or other user who wishes to do visualization analysis of the database for purposes of some commercial business analysis. In most situations, the proprietor of the database may want different levels of security or restrictions on the information made available to each of these clients from the database.
An example, is information contained in a financial institution database where one client working for the institution may be making changes to codes for the programs which permit, for example, automated service to customers concerning status of accounts, while another client may desire to obtain a visualization analysis from the database for purposes of making a business decision concerning the promotion of products in a specific market. For example, information relating to financial income levels or account activity in a certain geographic area could be useful in determining how and what type of a product to promote within that geographic area. Other examples could include a planner of a governmental agency who wishes to prepare a demographic analysis using visual interactive analysis to develop a plan for roads. The possibilities are unlimited.
Both clients have a need to obtain data in real time that is current information not information that is outdated.
Accordingly, there is a need for a system and method that will provide to a variety of clients access to information from a database in real time in accordance with security requirements required by the proprietor of the database for purposes of allowing the clients to perform permitted interactive visualization analysis by way of the programs made available to the client.